package com.hskn.hss.module.tlrepaircfg.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hskn.hss.core.annotation.DataScope;
import com.hskn.hss.core.domain.BaseEntity;
import com.hskn.hss.entity.AjaxResult;
import com.hskn.hss.exception.ExcelReaderDataException;
import com.hskn.hss.exception.HssException;
import com.hskn.hss.module.tlrepaircfg.entity.TlRepairCfg;
import com.hskn.hss.module.tlrepaircfg.to.TlRepairCfgListTO;
import com.hskn.hss.to.ForIdsTO;
import org.springframework.transaction.annotation.Transactional;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author hskn
 * @since 2021-05-05
 */
public interface ITlRepairCfgService extends IService<TlRepairCfg> {
    AjaxResult insert(JSONObject params) throws HssException;

    AjaxResult update(JSONObject params) throws HssException;

    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    AjaxResult deleteByid(ForIdsTO forIdsTO) throws HssException;

    TlRepairCfg getDetailById(JSONObject params) throws HssException;

    @DataScope(deptAlias = "deptidforcar", userAlias = "creatBy")
    JSONObject getList(BaseEntity entity, JSONObject params) throws HssException;

    int getLjwxcs(JSONObject params) throws HssException;

    int getLjwxfy(JSONObject params) throws HssException;

    float getLjlc(JSONObject params) throws HssException;

    int getDcpjwxcs(JSONObject params) throws HssException;

    int getDcpjwxlcjg(JSONObject params) throws HssException;

    int getDcpjwsjjg(JSONObject params) throws HssException;

    JSONObject getJgwxtjZwxtjChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjJgwxcspmPjclChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjJgwxcspmWxzsChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjJgwxfypmPjclChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjJgwxfypmWxzsChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjClwxfbZydlfbCsChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjClwxfbCllxfbCsChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjClwxfbClfbCsChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjClwxfbZydlfbFyChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjClwxfbCllxfbFyChart(JSONObject params) throws HssException;

    JSONObject getJgwxtjClwxfbClfbFyChart(JSONObject params) throws HssException;

    List<TlRepairCfg> getTlRepairCfgList(TlRepairCfgListTO repairCfgListTO, SimpleDateFormat format) throws ParseException;

    void excelReader(List<TlRepairCfg> repairCfgList) throws ExcelReaderDataException;
}
